package com.by.zhdoctor.service;
import com.by.zhdoctor.config.Constants;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.NameValuePair;
import org.apache.commons.httpclient.methods.PostMethod;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Service;
import java.io.IOException;

/**
 * Created by zhoulei on 16/8/18.
 */
@Service
public class TelService {
    private static String Url = "http://106.ihuyi.cn/webservice/sms.php?method=Submit";
    private final Logger log = LoggerFactory.getLogger(TelService.class);
    private String charset = "UTF-8";


    public int sent (String telnumber,int mobile_code) {

        HttpClient client = new HttpClient();
        PostMethod method = new PostMethod(Url);

        //client.getParams().setContentCharset("GBK");
        client.getParams().setContentCharset("UTF-8");
        method.setRequestHeader("ContentType", "application/x-www-form-urlencoded;charset=UTF-8");

        //System.out.println(mobile);

        String content = "您的验证码是："+mobile_code+"。请不要把验证码泄露给其他人。";

        NameValuePair[] data = {
            new NameValuePair("account", Constants.TELACCOUNT),
            new NameValuePair("password", Constants.TELPASSWORD),
            new NameValuePair("mobile", telnumber),
            new NameValuePair("content", content),
        };

        method.setRequestBody(data);

        try {
            client.executeMethod(method);
            String SubmitResult =method.getResponseBodyAsString();

            //System.out.println(SubmitResult);

            Document doc = DocumentHelper.parseText(SubmitResult);
            Element root = doc.getRootElement();


            String code = root.elementText("code");
            String msg = root.elementText("msg");
            String smsid = root.elementText("smsid");


            System.out.println(code);
            System.out.println(msg);
            System.out.println(smsid);

            if("2".equals(code)){
                System.out.println(mobile_code);
                return 2;
            }else {
                return 0;
            }
        } catch (IOException e) {
            e.printStackTrace();
            return 0;
        } catch (DocumentException e) {
            e.printStackTrace();
            return 0;
        }
    }
}

